欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

Kubernetes監(jiān)控:獲得全棧可見性

微服務(wù)——現(xiàn)在是我們構(gòu)建基礎(chǔ)設(shè)施的事實(shí)上的選擇——自然地為容器鋪平了道路。借助Docker 和 Kubernetes 等容器編排工具,組織現(xiàn)在可以更快、更大規(guī)模地發(fā)布應(yīng)用程序。但是,隨著所有這些功能和自動(dòng)化的出現(xiàn),挑戰(zhàn)也隨之而來,尤其是在保持對這個(gè)臨時(shí)基礎(chǔ)設(shè)施的可見性方面。

Kubernetes監(jiān)控:獲得全??梢娦? width=

監(jiān)控 Kubernetes 工作負(fù)載

Kubernetes 很復(fù)雜,(要準(zhǔn)確了解 Kubernetes 是什么以及它是如何工作的,請閱讀我們關(guān)于 Kubernetes 的完整指南)。要成功使用它,需要同時(shí)監(jiān)控多個(gè)組件。為了使您的監(jiān)控策略更容易,請將監(jiān)控操作分成幾個(gè)區(qū)域,每個(gè)部分都指代 Kubernetes 環(huán)境的一個(gè)單獨(dú)層。然后從上到下分解對工作負(fù)載的監(jiān)控:集群、Pod、應(yīng)用程序,最后是最終用戶體驗(yàn)。

監(jiān)控 Kubernetes 集群

集群是 Kubernetes 的最高級別組成部分。大多數(shù) Kubernetes 安裝只有一個(gè)集群。這就是為什么當(dāng)您監(jiān)控集群時(shí),您可以獲得所有區(qū)域的完整視圖。并且可以輕松確定組成集群的 pod、節(jié)點(diǎn)和應(yīng)用程序的運(yùn)行狀況。

使用聯(lián)合部署多個(gè)集群時(shí),必須單獨(dú)監(jiān)控每個(gè)集群。您將在集群級別監(jiān)控的區(qū)域是:

  • 不成功的 Pod:失敗和中止的 Pod 是 Kubernetes 進(jìn)程的正常部分。當(dāng)一個(gè) pod 應(yīng)該以更高效的水平工作或處于非活動(dòng)狀態(tài)時(shí),調(diào)查 pod 故障異常背后的原因至關(guān)重要。
  • 節(jié)點(diǎn)負(fù)載:跟蹤每個(gè)節(jié)點(diǎn)上的負(fù)載對于監(jiān)控效率是不可或缺的。某些節(jié)點(diǎn)的使用量可能比其他節(jié)點(diǎn)多得多。重新平衡負(fù)載分配是保持工作負(fù)載流暢和有效的關(guān)鍵。這可以通過 DaemsonSets 完成。
  • 集群使用情況:監(jiān)控集群基礎(chǔ)設(shè)施允許您調(diào)整正在使用的節(jié)點(diǎn)數(shù)量,并將資源用于有效地為工作負(fù)載供電。您可以看到資源是如何分配的,因此您可以擴(kuò)大或縮小規(guī)模并避免額外基礎(chǔ)設(shè)施的成本。為此,我們建議學(xué)習(xí)如何設(shè)置容器的內(nèi)存和 CPU 使用限制。

監(jiān)控 Kubernetes Pod

集群監(jiān)控提供了 Kubernetes 環(huán)境的宏觀視圖,但從單個(gè) pod 收集數(shù)據(jù)也是必不可少的。它揭示了各個(gè) pod 的健康狀況以及它們所托管的工作負(fù)載。您可以更清晰地了解集群之外的更細(xì)粒度的 Pod 性能。在這里您將監(jiān)控:

  • pod 實(shí)例總數(shù):需要有足夠的 pod 實(shí)例以確保高可用性。這種方式不會(huì)浪費(fèi)托管帶寬,并且您不會(huì)運(yùn)行比需要更多的 pod 實(shí)例。
  • Pod 部署:監(jiān)控 Pod 部署可讓您查看是否有任何錯(cuò)誤配置可能會(huì)降低 Pod 的可用性。密切關(guān)注資源如何分配到節(jié)點(diǎn)至關(guān)重要。
  • 實(shí)際 pod 實(shí)例:監(jiān)控每個(gè) pod 正在運(yùn)行的實(shí)例數(shù)量與您預(yù)期運(yùn)行的實(shí)例數(shù)量將揭示如何重新分配資源以實(shí)現(xiàn) pod 實(shí)例方面的所需狀態(tài)。如果您看到不同的指標(biāo),ReplicaSets 可能配置錯(cuò)誤,因此定期分析這些指標(biāo)很重要。

Kubernetes監(jiān)控:獲得全棧可見性

監(jiān)控在 Kubernetes 中運(yùn)行的應(yīng)用程序

應(yīng)用程序不是 Kubernetes 的一部分,但想要托管一個(gè)應(yīng)用程序是使用 Kubernetes 的重點(diǎn)。這就是為什么監(jiān)控托管在集群上的應(yīng)用程序?qū)τ诔晒碚f是不可或缺的。應(yīng)用程序監(jiān)控揭示的問題可能是 Kubernetes 環(huán)境或應(yīng)用程序代碼中的問題。

通過監(jiān)控應(yīng)用程序,您可以識別故障并立即解決它們。從監(jiān)控開始:

  • 錯(cuò)誤:如果發(fā)生錯(cuò)誤,您可以在監(jiān)控時(shí)快速找到它,并在它影響最終用戶之前解決它。
  • 事務(wù)跟蹤:如果應(yīng)用程序遇到可用性或性能問題,事務(wù)跟蹤可幫助您進(jìn)行故障排除。
  • 應(yīng)用程序響應(yīng)能力:您可以監(jiān)控應(yīng)用程序響應(yīng)請求所需的時(shí)間。您可以查看他們是否能夠處理當(dāng)前的工作負(fù)載,或者他們是否正在努力維持性能。
  • 應(yīng)用程序可用性:監(jiān)控應(yīng)用程序是否處于活動(dòng)狀態(tài)和啟動(dòng)狀態(tài),并有效響應(yīng)。

運(yùn)行 Kubernetes 時(shí)監(jiān)控最終用戶體驗(yàn)

最終用戶體驗(yàn),如應(yīng)用程序,在技術(shù)上不是 Kubernetes 平臺的一部分。應(yīng)用程序的總體目標(biāo)是為最終用戶提供積極的體驗(yàn),并且應(yīng)該成為 Kubernetes 監(jiān)控策略的一部分。

收集數(shù)據(jù)將使您了解應(yīng)用程序的性能、響應(yīng)能力和可用性。進(jìn)行真實(shí)用戶和綜合監(jiān)控對于了解用戶如何與 Kubernetes 工作負(fù)載交互至關(guān)重要。它讓您知道是否需要進(jìn)行任何調(diào)整或調(diào)整,以增強(qiáng)可用性并改進(jìn)前端。

在云環(huán)境中監(jiān)控 Kubernetes

當(dāng) Kubernetes 在云中運(yùn)行時(shí),在規(guī)劃監(jiān)控策略時(shí)需要考慮一些特定因素。在云中,您還必須監(jiān)控:

  • IAM 事件:您必須監(jiān)控 IAM 活動(dòng)。這包括權(quán)限更改和登??錄,這是基于云的安裝或環(huán)境中的安全最佳實(shí)踐。
  • 云 API:云提供商有自己的 API,您的 Kubernetes 安裝使用它來請求資源,因此需要對其進(jìn)行監(jiān)控。
  • 成本:云上的成本會(huì)迅速增加。成本監(jiān)控可幫助您制定預(yù)算并確保您不會(huì)在基于云的 Kubernetes 服務(wù)上超支。
  • 網(wǎng)絡(luò)性能:在基于云的安裝中,網(wǎng)絡(luò)可能成為應(yīng)用程序性能的最大障礙。如果您定期監(jiān)控云網(wǎng)絡(luò),您可以確保數(shù)據(jù)按照需要快速移動(dòng),從而避免與網(wǎng)絡(luò)相關(guān)的問題。

Kubernetes監(jiān)控:獲得全棧可見性

監(jiān)控 Kubernetes 中的指標(biāo)

為了在對 Kubernetes 執(zhí)行不同類型的監(jiān)控之外獲得對 Kubernetes 安裝的更高可見性,還有幾個(gè)指標(biāo)可以讓您深入了解應(yīng)用程序的運(yùn)行方式。

通用指標(biāo)

這些是從 Kubernetes 代碼(用 Golang 編寫)收集的指標(biāo)。它使您可以了解平臺中細(xì)胞級別的情況。

節(jié)點(diǎn)指標(biāo)

來自啟用 Kubernetes 節(jié)點(diǎn)的操作系統(tǒng)的指標(biāo)可以讓您深入了解各個(gè)節(jié)點(diǎn)的整體健康狀況。您可以監(jiān)控內(nèi)存消耗、文件系統(tǒng)活動(dòng)、CPU 負(fù)載、使用情況和網(wǎng)絡(luò)活動(dòng)。

Kubelet 指標(biāo)

為了確??刂破矫媾c運(yùn)行 Kubelet 的每個(gè)單獨(dú)節(jié)點(diǎn)有效通信,您應(yīng)該定期監(jiān)控Kubelet代理。

Kube-State-Metrics

您可以獲得一個(gè)可選的 Kubernetes 插件,它從名為Kube-State-Metrics的 Kubernetes API 生成指標(biāo)。

控制器管理器指標(biāo)

為確保有效地編排工作負(fù)載,您可以監(jiān)控控制器向外部 API 發(fā)出的請求。這在基于云的 Kubernetes 部署中至關(guān)重要。

調(diào)度程序指標(biāo)

如果您想識別和防止延遲,您應(yīng)該監(jiān)控調(diào)度程序中的延遲。通過這種方式,您可以確保 Kubernetes 順利、準(zhǔn)時(shí)地部署 Pod。

等指標(biāo)

Etcd 存儲(chǔ) Kubernetes 的所有配置數(shù)據(jù)。Etcd 指標(biāo)將為您提供對集群狀況的基本可見性。

容器指標(biāo)

專門查看單個(gè)容器將允許您監(jiān)控確切的資源消耗,而不是更一般的 Kubernetes 指標(biāo)。CAdvisor允許您分析容器內(nèi)發(fā)生的資源使用情況。

API 服務(wù)器指標(biāo)

API 將 Kubernetes 前端保持在一起,因此這些指標(biāo)對于獲取 API 服務(wù)器的可見性至關(guān)重要,從而了解整個(gè)前端。

記錄數(shù)據(jù)

當(dāng)您發(fā)現(xiàn)指標(biāo)揭示的問題時(shí),日志有助于檢查。它們?yōu)槟峁?zhǔn)確且無價(jià)的信息,提供比指標(biāo)更多的詳細(xì)信息。登錄 Kubernetes 的大多數(shù)組件有很多選項(xiàng)。應(yīng)用程序還會(huì)生成日志數(shù)據(jù)。

Kubernetes監(jiān)控:獲得全??梢娦? width=

Kubernetes 監(jiān)控挑戰(zhàn)、解決方案和技巧

將應(yīng)用程序從單體基礎(chǔ)架構(gòu)遷移到由 Kubernetes 管理的微服務(wù)是一個(gè)漫長而密集的過程。它可能充滿陷阱,并且可能被證明容易出錯(cuò)。但要實(shí)現(xiàn)更高的可用性、創(chuàng)新、成本效益、可擴(kuò)展性和敏捷性,這是發(fā)展業(yè)務(wù)的唯一途徑,尤其是在云中。由于平臺的復(fù)雜性,可見性是 Kubernetes 環(huán)境的主要問題,因?yàn)椴榭疵總€(gè)微服務(wù)的實(shí)時(shí)交互具有挑戰(zhàn)性。監(jiān)控是每個(gè)企業(yè)都需要實(shí)踐和改進(jìn)才能取得成功的專業(yè)技能。

一個(gè) Kubernetes 集群可以被認(rèn)為是復(fù)雜的,因?yàn)樗卸鄠€(gè)服務(wù)器和集成的私有和公共云服務(wù)。出現(xiàn)問題時(shí),需要檢查許多日志、數(shù)據(jù)和其他因素。傳統(tǒng)的單片環(huán)境只需要一些日志搜索來確定問題。另一方面,Kubernetes 環(huán)境有一個(gè)或多個(gè)與您遇到的問題有關(guān)的多個(gè)微服務(wù)的日志。為了應(yīng)對這些挑戰(zhàn),我們匯總了以下建議,以有效監(jiān)控容器化基礎(chǔ)設(shè)施。

有效使用 Sidecar 模式改進(jìn) Kubernetes 中的應(yīng)用程序監(jiān)控

一個(gè)關(guān)鍵的最佳實(shí)踐是利用 Kubernetes 中基于角色的訪問,由單個(gè)團(tuán)隊(duì)及其監(jiān)控解決方案提供端到端控制,而無需完全控制集群。利用團(tuán)隊(duì)命名空間下的監(jiān)控解決方案可幫助操作員輕松控制團(tuán)隊(duì)范圍內(nèi)基于微服務(wù)的容器應(yīng)用程序的監(jiān)控。

但是,他們可以添加額外的監(jiān)控支持,而無需重建他們的應(yīng)用程序容器。一種動(dòng)態(tài)的監(jiān)控方法可以提高可觀察性并驅(qū)動(dòng)上下文——如果容器開始出現(xiàn)問題,則無需將其拉下。

命名空間可觀察性

通過利用Sensu Go等開源監(jiān)控事件管道,運(yùn)營團(tuán)隊(duì)可以獲得容器的專用團(tuán)隊(duì)視圖,以提高對其應(yīng)用程序的可見性并增加對可能異常的洞察力。這些類型的解決方案為臨時(shí)基礎(chǔ)設(shè)施提供動(dòng)態(tài)監(jiān)控變化。因此,運(yùn)營商可以通過使用 Kubernetes 內(nèi)置的基于角色的訪問控制概念來幫助安全地推動(dòng)協(xié)作。

Kubernetes 為資源提供命名空間范圍,使各個(gè)團(tuán)隊(duì)可以完全控制其命名空間下的應(yīng)用程序。操作員還可以在 Kubernetes 命名空間中創(chuàng)建容器和 Pod,并將其直接映射到代碼驅(qū)動(dòng)的監(jiān)控工具,也可以利用相同的命名空間。

Kubernetes監(jiān)控:獲得全棧可見性

例如,您可以在開源監(jiān)控事件管道中擁有一個(gè)“關(guān)聯(lián)”命名空間——類似于 Kubernetes——這樣一個(gè)團(tuán)隊(duì)就可以使用聲明性YAML配置文件的存儲(chǔ)庫來控制容器并圍繞它進(jìn)行監(jiān)控。借助RBAC(基于角色的訪問控制),您可以通過僅向用戶提供必要的訪問權(quán)限來降低風(fēng)險(xiǎn),這樣他們就不會(huì)擁有超出所需的權(quán)限。

將監(jiān)控工作流程編碼到聲明性配置文件中,可以讓您以自動(dòng)化的速度進(jìn)行監(jiān)控。它可以共享、作為代碼處理、審查、編輯和版本化,從而實(shí)現(xiàn)高效的多云操作。閱讀有關(guān)如何使用 Prometheus 監(jiān)控 Kubernetes 的更多信息

Kubernetes 日志最佳實(shí)踐

容器化工作負(fù)載的應(yīng)用程序日志聚合是可以改進(jìn)軟件開發(fā)的基本最佳實(shí)踐。由于容器化工作負(fù)載的短暫性,集群中生成的日志條目數(shù)量可能非常大。

Fluentd 和 FluentBit 等日志代理——最初由 Treasure Data 開發(fā)的跨平臺、開源數(shù)據(jù)收集軟件項(xiàng)目——通常用作 DaemonSet 來收集節(jié)點(diǎn)上運(yùn)行的所有 pod 的日志,使用日志文件的特權(quán)卷掛載由容器運(yùn)行時(shí)存儲(chǔ)。這些是集群級工具,用于將日志聚合到 Elasticsearch 等數(shù)據(jù)湖中,或?qū)⑺鼈儼l(fā)送到Kafka等流處理器解決方案中——您可能希望使用基于功能的角色監(jiān)控來跟蹤在外部運(yùn)行的這些額外的日志聚合基礎(chǔ)設(shè)施您的 Kubernetes 集群。

使用 Kubernetes 監(jiān)控解決方案

可見性對于企業(yè)識別阻礙應(yīng)用程序性能的容器問題至關(guān)重要。您可以更有效地監(jiān)控在 Kubernetes pod 中運(yùn)行的容器化應(yīng)用程序,并根據(jù)需要進(jìn)行擴(kuò)展或縮減。這就是為什么擁有一個(gè)全面的 Kubernetes 監(jiān)控解決方案至關(guān)重要的原因,它可以讓您端到端地了解應(yīng)用程序的每個(gè)組件。從 Pod、節(jié)點(diǎn)、容器、基礎(chǔ)設(shè)施、Kubernetes 平臺,到每個(gè)微服務(wù)和最終用戶設(shè)備。

使用 APM 監(jiān)控 Kubernetes

實(shí)施應(yīng)用程序性能監(jiān)控解決方案 (APM) 可讓企業(yè)了解其應(yīng)用程序并評估整體性能。它組織并提供對 Kubernetes 集群、Docker 容器和容器化應(yīng)用程序的見解。您可以檢查基礎(chǔ)架構(gòu)的基本指標(biāo)、了解潛在障礙并進(jìn)行調(diào)整。在部署 APM 監(jiān)控的容器應(yīng)用程序時(shí),即時(shí)了解內(nèi)存、CPU 和網(wǎng)絡(luò)利用率以及資源使用情況統(tǒng)計(jì)信息。APM 指標(biāo)可快速識別常見問題,例如帶寬壟斷應(yīng)用程序或識別影響深遠(yuǎn)的容器級網(wǎng)絡(luò)錯(cuò)誤。

IDC云庫

什么是DevOps?DevOps 是如何工作的?

2022-4-21 10:58:17

IDC云庫

Ansible和Terraform以及Puppet這三者如何選擇

2022-4-21 11:21:10

0 條回復(fù) A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個(gè)人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 崇礼县| 文化| 灵宝市| 建瓯市| 沙雅县| 晋中市| 德安县| 沙坪坝区| 科技| 寻乌县| 揭阳市| 博野县| 德格县| 仪陇县| 独山县| 建始县| 红河县| 连南| 遵义市| 三明市| 和硕县| 连山| 增城市| 菏泽市| 贵定县| 张北县| 禹城市| 祥云县| 中方县| 延安市| 元阳县| 樟树市| 桦川县| 丹东市| 石嘴山市| 涟源市| 鄂温| 巨野县| 黄冈市| 寻乌县| 金门县|